package com.yuetong.business.service;

import java.util.List;
import com.yuetong.business.domain.YtPlaceInfo;

/**
 * 场所信息，用于存储各个场所的基本信息及其层级关系Service接口
 *
 * @author  卓晓君
 * @date 2025-03-13
 */
public interface IYtPlaceInfoService
{
    /**
     * 查询场所信息，用于存储各个场所的基本信息及其层级关系
     *
     * @param placeId 场所信息，用于存储各个场所的基本信息及其层级关系主键
     * @return 场所信息，用于存储各个场所的基本信息及其层级关系
     */
    public YtPlaceInfo selectYtPlaceInfoByPlaceId(Long placeId);

    /**
     * 查询场所信息，用于存储各个场所的基本信息及其层级关系列表
     *
     * @param ytPlaceInfo 场所信息，用于存储各个场所的基本信息及其层级关系
     * @return 场所信息，用于存储各个场所的基本信息及其层级关系集合
     */
    public List<YtPlaceInfo> selectYtPlaceInfoList(YtPlaceInfo ytPlaceInfo);

    /**
     * 新增场所信息，用于存储各个场所的基本信息及其层级关系
     *
     * @param ytPlaceInfo 场所信息，用于存储各个场所的基本信息及其层级关系
     * @return 结果
     */
    public int insertYtPlaceInfo(YtPlaceInfo ytPlaceInfo);

    /**
     * 修改场所信息，用于存储各个场所的基本信息及其层级关系
     *
     * @param ytPlaceInfo 场所信息，用于存储各个场所的基本信息及其层级关系
     * @return 结果
     */
    public int updateYtPlaceInfo(YtPlaceInfo ytPlaceInfo);

    /**
     * 批量删除场所信息，用于存储各个场所的基本信息及其层级关系
     *
     * @param placeIds 需要删除的场所信息，用于存储各个场所的基本信息及其层级关系主键集合
     * @return 结果
     */
    public int deleteYtPlaceInfoByPlaceIds(Long[] placeIds);

    /**
     * 删除场所信息，用于存储各个场所的基本信息及其层级关系信息
     *
     * @param placeId 场所信息，用于存储各个场所的基本信息及其层级关系主键
     * @return 结果
     */
    public int deleteYtPlaceInfoByPlaceId(Long placeId);

    public int getSignedCount(String signedStaute);
}
